import type { RequestConfig } from './types'

// 默认配置
export const defaultConfig: RequestConfig = {
  // 基础URL
  baseURL: import.meta.env['VITE_API_BASE_URL'] || '/api',
  // 超时时间
  timeout: 10000,
  // 请求头
  headers: {
    'Content-Type': 'application/json'
  },
  // 是否显示加载提示
  showLoading: true,
  // 是否显示错误提示
  showError: true,
  // 是否显示成功提示
  showSuccess: false
}

// 请求方法配置
export const methodConfig: Record<string, RequestConfig> = {
  get: {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  },
  post: {
    headers: {
      'Content-Type': 'application/json'
    }
  },
  put: {
    headers: {
      'Content-Type': 'application/json'
    }
  },
  delete: {
    headers: {
      'Content-Type': 'application/json'
    }
  }
}

// 响应状态码
export const responseCode = {
  // 成功
  SUCCESS: 200,
  // 未授权
  UNAUTHORIZED: 401,
  // 禁止访问
  FORBIDDEN: 403,
  // 资源不存在
  NOT_FOUND: 404,
  // 服务器错误
  SERVER_ERROR: 500
}

// 响应消息
export const responseMessage = {
  // 成功
  SUCCESS: '操作成功',
  // 失败
  ERROR: '操作失败',
  // 未授权
  UNAUTHORIZED: '请先登录',
  // 禁止访问
  FORBIDDEN: '没有权限',
  // 资源不存在
  NOT_FOUND: '资源不存在',
  // 服务器错误
  SERVER_ERROR: '服务器错误'
}
